Add mcpc formula - #55
Conversation
mcpc is Apify's universal MCP command-line client (https://github.com/apify/mcpc), published to npm as `@apify/mcpc`. Being a scoped package, it needs two fixes in the shared update flow: - `update_formula.sh` takes an optional NPM package name, since `@apify/mcpc` cannot be a formula name. Omitted, it keeps defaulting to the formula name. - The `sed` separator moves from `@` to `|`: an unescaped `@` inside the replacement (`.../@apify/mcpc-0.5.1.tgz`) ends the expression early and fails with "unknown option to `s'". Rerunning the updater for `apify-cli` produces a byte-identical formula. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BcRjUSnuwKjKhQRgKQ1zzv
Lets macOS and Linux users install mcpc with `brew install apify/tap/mcpc` instead of setting up Node.js or Bun first. The formula lives in [apify/homebrew-tap](https://github.com/apify/homebrew-tap) next to `apify-cli` (added in apify/homebrew-tap#55). Its bump is started **manually for now** — the release workflow only prints the `gh workflow run` command in its run summary rather than dispatching it. That workflow points `Formula/mcpc.rb` at the new npm tarball, installs and `brew test`s it on Linux and macOS, then merges the bump. - README documents Homebrew as the first install option - Changelog entry, plus the manual bump command in the release section of `CLAUDE.md` - The release step is last and `continue-on-error`, so nothing Homebrew-related can fail a release that is already tagged, published to npm and announced - Skipping a bump only leaves Homebrew users on the previous version; npm and Bun installs are unaffected Merge apify/homebrew-tap#55 before the first bump, otherwise there is no formula to update. Fixes #355 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01BcRjUSnuwKjKhQRgKQ1zzv --------- Co-authored-by: Claude <noreply@anthropic.com>
fnesveda
left a comment
There was a problem hiding this comment.
Looks good 👍 Are you planning on upstreaming this to https://github.com/homebrew/homebrew-core?
|
I guess - is that how to get included in brew directory? Any advice about that would be appreciated. |
|
You first have to send a PR to And then every time a new version of CC @vladfrangu you were the one adjusting the Apify CLI Homebrew publication flow the last time, anything to look out for? |
|
If I recall, I inherited the CLI automation from you peeps, and I don't recall any changes being done aside from adding myself to the ping message 😄. Do be careful with indentation, that will mess up the post on GitHub's end tho. Assuming this is an npm package, you should be able to more-less 1:1 copy the step from apify-cli (after doing the initial PR manually). You can probably skip the |
|
Hey @vladfrangu @fnesveda do you think this is safe to merge? |
|
Good to go from my side 👍 |
Adds a formula for mcpc, Apify's universal MCP command-line client, published to npm as
@apify/mcpc. Installs the published npm tarball (which already contains the build output), so Homebrew only needsnode.mcpc is the first scoped package to go through the shared update flow, which needs two fixes for it:
update_formula.shtakes an optional NPM package name, because@apify/mcpccannot be a formula name. Omitted, it still defaults to the formula name, andupdate_formula.yamlgained a matching optionalnpm_packageinput.sedseparator moves from@to|: an unescaped@inside the replacement (.../@apify/mcpc-0.5.1.tgz) ends the expression early and fails withunknown option to `s'. Rerunning the updater forapify-cli 1.7.1produces a byte-identical formula.Two formula details worth a look:
node, same asapify-cli.test dodeliberatelyrequire()s the@napi-rs/keyringnative addon. It is tied to a Node.js ABI, and mcpc silently falls back to file-based credential storage when it fails to load — without the canary, anodemajor bump would quietly downgrade credential storage instead of failing here and asking for a revision bump.Bumps are triggered by hand for now (mcpc's release workflow only prints the command), so after merging this the formula is verified by dispatching
update_formula.yamlwithpackage=mcpc,npm_package=@apify/mcpc,version=0.5.1. Draft until apify/mcpc#357 lands.🤖 Generated with Claude Code
https://claude.ai/code/session_01BcRjUSnuwKjKhQRgKQ1zzv